<template>
  <div class="lineContainer">
    <p class="title">未来七天游客数量趋势图</p>
    <img src="../../images/dataScreen-title.png" alt="">

    <!-- 展示折线图 -->
    <div class="charts" ref="line">

    </div>
  </div>
</template>
<script setup lang='ts'>
import { ref, onMounted } from 'vue'
import * as echarts from 'echarts'
// 获取DOM元素
let line = ref()

onMounted(() => {
  let mychart = echarts.init(line.value)
  // 设置配置项
  mychart.setOption({
    title: {
      text: '游客访问量趋势图'
    },
    // x | y 轴
    xAxis: {
      type: 'category',
      boundaryGap: false, // 坐标两侧留白（值为0时，x轴左边有空白部分）策略，是否留白，默认为true,
      // x轴的分割线去掉
      splitLine: {
        show: false
      },
      data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    yAxis: {
      // y轴的分割线去掉
      splitLine: {
        show: false
      },
      // 轴线的设置
      axisLine: {
        show: true,
      },
      // 轴线的刻度
      axisTick: {
        show: true,
      }
    },
    // 容器布局
    grid: {
      top: 0,
      left: 40,
      right: 20,
      bottom: 20
    },
    // 系列
    series: [
      {
        type: 'line',
        data: [0, 320, 1640, 710, 2145, 760, 480],
        smooth: true, // 是否为平滑曲线
        // 区域填充样式。设置后显示成区域面积图
        areaStyle: {
          // 这里的color也支持渐变
          color: // 径向渐变，前三个参数分别是圆心 x, y 和半径，取值同线性渐变
          {
            type: 'linear',
            x: 0,
            y: 0,
            x2: 0,
            y2: 1,
            colorStops: [{
              offset: 0, color: 'red' // 0% 处的颜色
            }, {
              offset: 1, color: 'blue' // 100% 处的颜色
            }],
            global: false // 缺省为 false
          }
        },
        emphasis: {
          label: {
            show: true
          }
        }
      }
    ]
  })

})

</script>
<style scoped lang="scss">
.lineContainer {
  width: 100%;
  height: 100%;
  background: url(../../images/dataScreen-main-cb.png) no-repeat;
  background-size: 100% 100%;
  margin: 0px 15px;

  .title {
    color: white;
    font-size: 20px;
  }

  .charts {
    height: calc(100% - 40px);
  }
}
</style>